package com.glink.manage.dto.equipcoordinate;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.List;

@Data
public class EquipCoordinateSaveDTO {

    @ApiModelProperty(value = "设备ID")
    @NotBlank(message = "设备ID(equipId)不能为空")
    @Size(max = 42, message = "设备ID不能超过42个字符")
    private String equipId;

    @ApiModelProperty(value = "设备分类 02区域, 03间隔, 04设备, 05部件, 06摄像机, 08声纹, 09无人机机场")
    @NotBlank(message = "设备分类(equipClass)不能为空")
    @Size(max = 10, message = "设备分类不能超过10个字符")
    private String equipClass;

    @ApiModelProperty(value = "厂站ID")
    @NotBlank(message = "厂站ID(stationId)不能为空")
    @Size(max = 42, message = "厂站ID不能超过42个字符")
    private String stationId;

    @ApiModelProperty(value = "设备坐标")
    //@NotNull(message = "设备坐标(equipCoordinate)不能为空")
    @Size(max = 1000, message = "设备坐标不能超过1000个字符")
    private List<List<String>> equipCoordinate;

    @ApiModelProperty(value = "定位方式: 1为点, 2为矩形, 3为多边形")
    //@NotBlank(message = "定位方式(locateMode)不能为空")
    @Size(max = 2, message = "定位方式不能超过2个字符")
    private String locateMode;

    @ApiModelProperty(value = "三维坐标")
    private String threeDCoordinate;

    @ApiModelProperty(value = "经度")
    private BigDecimal longitude;

    @ApiModelProperty(value = "维度")
    private BigDecimal latitude;

    @ApiModelProperty(value = "高度")
    private BigDecimal altitude;

    @ApiModelProperty(value = "视角")
    private String viewAngle;

    @ApiModelProperty(value = "操作类型: 1为新增, 2编辑，3为删除")
    @NotBlank(message = "操作类型(operateType)不能为空")
    private String operateType;

}
